package mua.core.operation.basis;

import mua.core.interpreter.Global;
import mua.core.value.FunctionBody;
import mua.core.value.MuaValue;

/**
 * 取值操作
 * eg. thing a 等同于 :a 将a中的值取出
 * @author 彭子帆
 * @data 2020年10月7日
 */
public class Thing {
    /**
     * @param a 取值的
     * @param functionBody null代表全局变量
     * @return 返回取的值
     */
    public static MuaValue run(MuaValue a, FunctionBody functionBody) {
        //如果为全局变量
        if(functionBody!=null&&functionBody.getLocalVariable().get(a.toString())!=null){
            return functionBody.getLocalVariable().get(a.toString());
        }
        return Global.globalVariable.get(a.toString());
    }
}
